package com.itheima06;

import java.util.function.Function;

public class FunctionDemo {
    public static void main(String[] args) {
        convert("100", s -> Integer.parseInt(s));
//        convert("100", Integer::parseInt);

        convert(100, s -> String.valueOf(s + 10));

        convert("100", s -> Integer.parseInt(s), s -> String.valueOf(s + 100));
    }

    // 定义一个方法，把一个字符串转int，并输出
    private static void convert(String s, Function<String, Integer> fun) {
        Integer integer = fun.apply(s);
        System.out.println(integer);
    }

    // 定义一个方法，把一个int类型的数据加上int数据，转为字符串输出
    private static void convert(int i, Function<Integer, String> fun) {
        String s = fun.apply(i);
        System.out.println(s);
    }

    // 定义一个方法，把一个字符串转int，并int类型的数据加上int数据，转为字符串输出
    private static void convert(String s, Function<String, Integer> fun1, Function<Integer, String> fun2) {
//        Integer i = fun1.apply(s);
//        String s1 = fun2.apply(i);
        String s1 = fun1.andThen(fun2).apply(s);
        System.out.println(s1);
    }
}
